package com.d3works.apps.account.service;

import com.d3works.apps.account.db.Invoice;
import com.d3works.auth.db.User;
import com.d3works.exception.D3worksException;

public interface InvoiceVisibilityService {
  boolean isPfpButtonVisible(Invoice invoice, User user, boolean litigation)
      throws D3worksException;

  boolean isPaymentButtonVisible(Invoice invoice) throws D3worksException;

  boolean isValidatorUserVisible(Invoice invoice) throws D3worksException;

  boolean isDecisionPfpVisible(Invoice invoice) throws D3worksException;

  boolean isSendNotifyVisible(Invoice invoice) throws D3worksException;

  boolean getManagePfpCondition(Invoice invoice) throws D3worksException;

  boolean getOperationTypePurchaseCondition(Invoice invoice) throws D3worksException;

  boolean getPaymentVouchersStatus(Invoice invoice) throws D3worksException;
}
